﻿package com.csd.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
 

public class FilterEncoding implements Filter {
       private FilterConfig filterConfig=null;
       private String encoding=null;
 
       /* (non-Javadoc)
        * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
        */
       public void init(FilterConfig filterConfig) throws ServletException {
              this.filterConfig=filterConfig;
              this.encoding=filterConfig.getInitParameter("encoding");
       }
 
       /* (non-Javadoc)
        * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
        */
       public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
              String encoding=this.encoding;
              if(encoding!=null)
              {
              request.setCharacterEncoding(encoding);  
              }
              chain.doFilter(request, response);
       }
 
       /* (non-Javadoc)
        * @see javax.servlet.Filter#destroy()
        */
       public void destroy() {
              this.encoding=null;
              this.filterConfig=null;
             
       }
  
}